#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from abc import ABC,abstractmethod
#from M.models import event

class eventArgs(object):
    __request=({})
    __context=None

    @property
    def Request(self):
        return self.__request
    @Request.setter
    def Request(self,value):
        self.__request.update(value)

    @property
    def Context(self):
        return self.__context
    @Context.setter
    def Context(self,value):
        self.__context=value

class IEventProcess:
    __args__=None
    def __init__(self,args):
        '''
        Feature
            __init__(self,args)
        Description
            初始化
        Args
            args:
                type:class MsgArgs
                description:参数
        '''
        if type(args).__name__=="eventArgs":
            self.__args__=args

    @abstractmethod
    def todo(self,*args,**kw):
        #process entrance function
        pass

    def testCall(self,*args,**kw):
        #test function
        pass

    def setup(self):
        #to setup plug in
        pass        
        